package cn.wolfcode.trip.base.service;

import cn.wolfcode.trip.base.domain.User;
import cn.wolfcode.trip.base.query.QueryObject;
import com.github.pagehelper.PageInfo;

import java.util.List;

public interface IUserService {


    /**
     * 注册用户
     * @param user
     */
    void save(User user);

    /**
     * 登录验证
     * @param email
     * @param password
     * @return
     */
    User login(String email, String password);

    /**
     * 分页显示注册用户信息
     * @param qo
     * @return
     */
    PageInfo<?> list(QueryObject qo);

    /**
     * 更新用户信息
     * @param user
     */
    void update(User user);

    User getAuthorById(Long id);

    /**
     * 充值
     * @param user
     */
    void updateBalance(User user);

    User getById(Long id);

    User getByEmail(String email);

    /**
     * 通过用户id获取用户信息
     * @param userId
     * @return
     */
    User getUserByUserId(Long userId);

    List<User> getCares(Long userId);

    List<User> getFans(Long userId);
}
